<?php

require '../entity/Usuario.php';
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of ModelUsuario
 *
 * @author David
 */
class ModelUsuario extends Model {

    public function getAutentica($email, $senha) {
        $sql = "SELECT codigo, tipo, 
                    (SELECT CASE WHEN senha is null THEN '' ELSE count(*) END senha
                        FROM usuario WHERE email = ? AND senha = ?  
                     ) as senha,
                            ativo, nome
                FROM usuario
                WHERE email = ?;";

        $stmt = $this->p->prepare($sql);
        $stmt->bindValue(1, $email, PDO::PARAM_STR);
        $stmt->bindValue(2, $senha, PDO::PARAM_STR);
        $stmt->bindValue(3, $email, PDO::PARAM_STR);
        $res = $stmt->execute();

        $resultado = array();
        if ($res != 1) {
            $resultado = "erro";
        } else {
            while ($linha = $stmt->fetch()) {
                $suario = new Usuario();
                $suario->codigo = $linha["codigo"];
                $suario->nome = $linha["nome"];
                $suario->ativo = $linha["ativo"];
                $suario->senha = $linha["senha"];
                $suario->tipo = $linha["tipo"];
                $resultado = $suario;
            }
        }
        return $resultado;
    }

    public function getSenhaCriptograda($senha) {
        $codificacao_sha512 = hash('sha512', $senha);
        return $codificacao_sha512;
    }

    public function getSenhaCriptogradaMini($senha) {
        $codificada = md5($senha . "sisdof12345");
        return $codificada;
    }

    public function autentica($beanMembro) {
        $_SESSION["est_id"] = $beanMembro->codigo;
        $_SESSION["est_nome"] = $beanMembro->nome;
        $_SESSION["est_tipo"] = $beanMembro->tipo;
        return null;
    }

    /**
     * Remove caracacteres especiais do CPF
     * @param string $cpf
     * @return string
     */
    public function removeCaracter($cpf) {
        // Retira os pontos
        $explode = explode(".", $cpf);
        $novoCPF = $explode[0] . $explode[1] . $explode[2];

        // Retira o traço
        $explode = explode("-", $novoCPF);
        $novoCPF = $explode[0] . $explode[1];
        return $novoCPF;
    }

    public function addCaracter($cpf) {
        $novoCpf = $cpf[0];
        $novoCpf .= $cpf[1];
        $novoCpf .= $cpf[2] . ".";
        $novoCpf .= $cpf[3];
        $novoCpf .= $cpf[4];
        $novoCpf .= $cpf[5] . ".";
        $novoCpf .= $cpf[6];
        $novoCpf .= $cpf[7];
        $novoCpf .= $cpf[8] . "-";
        $novoCpf .= $cpf[9];
        $novoCpf .= $cpf[10];

        return $novoCpf;
    }

    function data_EUA($data) {
        $desmonta = explode("/", $data);
        $dia = $desmonta[0];
        $mes = $desmonta[1];
        $ano = $desmonta[2];

        return $ano . "-" . $mes . "-" . $dia;
    }
}

?>
